import { fileURLToPath, URL } from 'node:url';

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import vueJsx from '@vitejs/plugin-vue-jsx';

import Pages from 'vite-plugin-pages';

// import AutoImport from 'unplugin-auto-import/vite';
// import Components from 'unplugin-vue-components/vite';
// import { ElementPlusResolver } from 'unplugin-vue-components/resolvers';
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    vueJsx(),
    Pages({
      // routeStyle: 'nested', // 启用 Nuxt 风格路由生成
      dirs: ['src/pages'],        // 路由目录
      extensions: ['vue'],  // 支持的文件扩展名
      exclude: ['**/components/**'],  // 排除组件目录
      extendRoute(route) {
        // 自动设置路由名称
        // if (!route.name) {
        //   route.name = route.path
        //     .replace(/\//g, '-')
        //     .replace(/^-/, '')
        //     .replace(/-$/, '');
        // }

        // // 处理动态路由的标题
        // if (route.path.includes(':')) {
        //   route.meta = {
        //     ...route.meta,
        //     hidden: true // 隐藏动态路由
        //   };
        // }
        return route;
      }
    }),
    // AutoImport({
    //   resolvers: [ElementPlusResolver()],
    // }),
    // Components({
    //   resolvers: [ElementPlusResolver()],
    // }),
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  }
});
